home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / OCEStandardDirectory.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  19KB  |  540 lines

  1. /*
  2.      File:        OCEStandardDirectory.h
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __OCESTANDARDDIRECTORY__
  19. #define __OCESTANDARDDIRECTORY__
  20.  
  21. #ifndef REZ
  22. #ifndef __ICONS__
  23. #include <Icons.h>
  24. #endif
  25. #ifndef __TYPES__
  26. #include <Types.h>
  27. #endif
  28. #ifndef __WINDOWS__
  29. #include <Windows.h>
  30. #endif
  31. #ifndef __OCE__
  32. #include <OCE.h>
  33. #endif
  34. #ifndef __OCEAUTHDIR__
  35. #include <OCEAuthDir.h>
  36. #endif
  37.  
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif
  41.  
  42. #if PRAGMA_IMPORT_SUPPORTED
  43. #pragma import on
  44. #endif
  45.  
  46. #if PRAGMA_ALIGN_SUPPORTED
  47. #pragma options align=mac68k
  48. #endif
  49.  
  50. #if FOR_SYSTEM7_ONLY
  51. /* Collaboration Package Gestalts. */
  52.  
  53. enum {
  54.     gestaltSDPStandardDirectoryVersion = 'sdvr',
  55.     gestaltSDPFindVersion        = 'dfnd',
  56.     gestaltSDPPromptVersion        = 'prpv'
  57. };
  58.  
  59. #endif
  60. #endif /* REZ */
  61. #if FOR_SYSTEM7_ONLY
  62. /* generic icon suites */
  63. #define    genericDirectoryIconResource            -16721    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  64. #define    genericLockedDirectoryIconResource        -16716    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  65. #define    genericRecordIconResource                -16722    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  66. #define    genericAttributeIconResource            -16723    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  67. #define    genericTemplateIconResource                -16746    /* icl8, icl4, ICN#, ics#, ics4, ics8 */
  68. /* standard icon suites */
  69. #define    directoryFolderIconResource                -16720    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  70. #define    lockedDirectoryFolderIconResource        -16719    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  71. #define    personalDirectoryIconResource            -16718    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  72. #define    directoriesIconResource                    -16717    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  73. #define    preferredPersonalDirectoryIconResource    -16724    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  74. /* icon IDs for spinning arrows */
  75. #define    kFirstSpinnerIcon                        -16745
  76. #define    kLastSpinnerIcon                        -16738
  77. /* resource types */
  78. #define    kSDPPanelResourceType                    'panl'
  79. #define    kSDPFindPanelResourceType                'find'
  80. /* Standard FindPanel resource */
  81. #define    kStandardFindLayout                        -16700
  82. #ifndef REZ
  83. /* Prompt For Identity structures */
  84.  
  85. enum {
  86.     kSDPGuestBit                = 0,
  87.     kSDPSpecificIdentityBit        = 1,
  88.     kSDPLocalIdentityBit        = 2
  89. };
  90.  
  91. /* Values of SDPIdentityKind */
  92.  
  93. enum {
  94.     kSDPGuestMask                = 1 << kSDPGuestBit,
  95.     kSDPSpecificIdentityMask    = 1 << kSDPSpecificIdentityBit,
  96.     kSDPLocalIdentityMask        = 1 << kSDPLocalIdentityBit
  97. };
  98.  
  99. typedef unsigned short SDPIdentityKind;
  100.  
  101. enum {
  102.     kSDPSuggestionOnly            = 0,
  103.     kSDPRestrictToDirectory        = 1,
  104.     kSDPRestrictToRecord        = 2
  105. };
  106.  
  107. typedef unsigned short SDPLoginFilterKind;
  108. /* Panel Structures */
  109. /*
  110. While the panel is in operation, four selection states may exist.
  111.     1) kSDPNothingSelected means nothing is selected.
  112.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  113.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  114.     4) kSDPRecordSelected means that a record is currently selected.
  115. */
  116. /* Values of SDPSelectionState */
  117.  
  118. enum {
  119.     kSDPNothingSelected            = 0,
  120.     kSDPLockedContainerSelected    = 1,
  121.     kSDPContainerSelected        = 2,
  122.     kSDPRecordSelected            = 3,
  123.     kSDPRecordAliasSelected        = 4,
  124.     kSDPContainerAliasSelected    = 5
  125. };
  126.  
  127. typedef unsigned short SDPSelectionState;
  128. /*
  129. This type informs the caller of the action the user took, either as the result
  130. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  131.  
  132. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  133. state change.
  134.  
  135. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  136. record. This is returned, for example, when a user double-clicks on a record.
  137.  
  138. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  139. that no item is selected).
  140. */
  141. /* Values of SDPPanelState */
  142.  
  143. enum {
  144.     kSDPProcessed                = 0,
  145.     kSDPSelectedAnItem            = 1,
  146.     kSDPChangedSelection        = 2
  147. };
  148.  
  149. typedef unsigned short SDPPanelState;
  150. /*
  151. Your application may read any of the fields in a SDPPanelRecord, but it should
  152. use the appropriate routines to make changes to the records with the exception
  153. of the refCon field which your application may read or write at will.  Private
  154. information follows the SDPPanelRecord, so the handle must not be re-sized.
  155. */
  156. struct SDPPanelRecord {
  157.     Rect                             bounds;
  158.     Boolean                         visible;
  159.     Boolean                         enabled;
  160.     Boolean                         focused;
  161.     Byte                             padByte;
  162.     AuthIdentity                     identity;
  163.     long                             refCon;
  164.     Rect                             listRect;
  165.     Rect                             popupRect;
  166.     short                             numberOfRows;
  167.     short                             rowHeight;
  168.     Boolean                         pabMode;
  169.     Boolean                         filler1;
  170. };
  171. typedef struct SDPPanelRecord SDPPanelRecord;
  172.  
  173. typedef SDPPanelRecord *SDPPanelPtr;
  174. typedef SDPPanelPtr *SDPPanelHandle;
  175. typedef pascal void (*PanelBusyProcPtr)(SDPPanelHandle Panel, Boolean busy);
  176.  
  177. #if GENERATINGCFM
  178. typedef UniversalProcPtr PanelBusyUPP;
  179. #else
  180. typedef PanelBusyProcPtr PanelBusyUPP;
  181. #endif
  182.  
  183. enum {
  184.     uppPanelBusyProcInfo = kPascalStackBased
  185.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPPanelHandle)))
  186.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  187. };
  188.  
  189. #if GENERATINGCFM
  190. #define NewPanelBusyProc(userRoutine)        \
  191.         (PanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPanelBusyProcInfo, GetCurrentArchitecture())
  192. #else
  193. #define NewPanelBusyProc(userRoutine)        \
  194.         ((PanelBusyUPP) (userRoutine))
  195. #endif
  196.  
  197. #if GENERATINGCFM
  198. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  199.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPanelBusyProcInfo, (Panel), (busy))
  200. #else
  201. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  202.         (*(userRoutine))((Panel), (busy))
  203. #endif
  204. typedef PanelBusyUPP PanelBusyProc;
  205. /* Find Panel Structures */
  206.  
  207. enum {
  208.     kSDPItemIsSelectedBit        = 0,
  209.     kSDPFindTextExistsBit        = 1
  210. };
  211.  
  212. /* Values of SDPFindPanelState */
  213.  
  214. enum {
  215.     kSDPItemIsSelectedMask        = 1 << kSDPItemIsSelectedBit,
  216.     kSDPFindTextExistsMask        = 1 << kSDPFindTextExistsBit
  217. };
  218.  
  219. typedef unsigned short SDPFindPanelState;
  220. /* Values of SDPFindPanelFocus */
  221.  
  222. enum {
  223.     kSDPFindPanelNoFocus        = 0,
  224.     kSDPFindPanelListHasFocus    = 1,
  225.     kSDPFindPanelTextHasFocus    = 2
  226. };
  227.  
  228. typedef unsigned short SDPFindPanelFocus;
  229. struct SDPFindPanelRecord {
  230.     Point                             upperLeft;
  231.     Boolean                         visible;
  232.     Boolean                         enabled;
  233.     Boolean                         nowFinding;
  234.     Byte                             padByte;
  235.     SDPFindPanelFocus                 currentFocus;
  236.     AuthIdentity                     identity;
  237.     short                             simultaneousSearchCount;
  238.     long                             refCon;
  239. };
  240. typedef struct SDPFindPanelRecord SDPFindPanelRecord;
  241.  
  242. typedef SDPFindPanelRecord *SDPFindPanelPtr;
  243. typedef SDPFindPanelPtr *SDPFindPanelHandle;
  244. /* Values of SDPFindPanelResult */
  245.  
  246. enum {
  247.     kSDPSelectedAFindItem        = 0,
  248.     kSDPFindSelectionChanged    = 1,
  249.     kSDPFindCompleted            = 2,
  250.     kSDPTextStateChanged        = 3,
  251.     kSDPFocusChanged            = 4,
  252.     kSDPSelectionAndFocusChanged = 5,
  253.     kSDPMenuChanged                = 6,
  254.     kSDPSelectionAndMenuChanged    = 7,
  255.     kSDPProcessedFind            = 8
  256. };
  257.  
  258. typedef unsigned short SDPFindPanelResult;
  259. typedef PackedPathNamePtr *PackedRStringListHandle;
  260. typedef pascal void (*FindPanelBusyProcPtr)(SDPFindPanelHandle findPanel, Boolean busy);
  261.  
  262. #if GENERATINGCFM
  263. typedef UniversalProcPtr FindPanelBusyUPP;
  264. #else
  265. typedef FindPanelBusyProcPtr FindPanelBusyUPP;
  266. #endif
  267.  
  268. enum {
  269.     uppFindPanelBusyProcInfo = kPascalStackBased
  270.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPFindPanelHandle)))
  271.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  272. };
  273.  
  274. #if GENERATINGCFM
  275. #define NewFindPanelBusyProc(userRoutine)        \
  276.         (FindPanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppFindPanelBusyProcInfo, GetCurrentArchitecture())
  277. #else
  278. #define NewFindPanelBusyProc(userRoutine)        \
  279.         ((FindPanelBusyUPP) (userRoutine))
  280. #endif
  281.  
  282. #if GENERATINGCFM
  283. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  284.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppFindPanelBusyProcInfo, (findPanel), (busy))
  285. #else
  286. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  287.         (*(userRoutine))((findPanel), (busy))
  288. #endif
  289. typedef FindPanelBusyUPP FindPanelBusyProc;
  290. /* Prompt For Identity Routines */
  291. extern pascal OSErr SDPPromptForID(AuthIdentity *id, ConstStr255Param guestPrompt, ConstStr255Param specificIDPrompt, ConstStr255Param localIDPrompt, const RString *recordType, SDPIdentityKind permittedKinds, SDPIdentityKind *selectedKind, const RecordID *loginFilter, SDPLoginFilterKind filterKind)
  292.  FOURWORDINLINE(0x203C, 0x0010, 0x0388, 0xAA5D);
  293.  
  294. /*
  295. SDPNewPanel creates a new panel. You supply the window in which the panel
  296. is to live, the bounds for the panel (which includes both the menu and the list),
  297. whether or not the panel is to be initially visible, the initial RLI (nil for
  298. catalogs and volumes), the types of records that will be shown (only a single
  299. (non-nil) type which may contain wildcards), the identity by which to browse
  300. (for access control reasons), and a refCon which is  available to the caller.
  301. */
  302. extern pascal OSErr SDPNewPanel(SDPPanelHandle *newPanel, WindowRef window, const Rect *bounds, Boolean visible, Boolean enabled, const PackedRLI *initialRLI, const RStringPtr *typesList, unsigned long typeCount, AuthIdentity identity, DirEnumChoices enumFlags, DirMatchWith matchTypeHow, long refCon)
  303.  FOURWORDINLINE(0x203C, 0x0015, 0x0064, 0xAA5D);
  304.  
  305. /*
  306. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  307. away if the new authentication scheme works.
  308. */
  309. extern pascal OSErr SDPSetIdentity(SDPPanelHandle panel, AuthIdentity identity)
  310.  FOURWORDINLINE(0x203C, 0x0004, 0x0073, 0xAA5D);
  311.  
  312. /*
  313. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  314. 'panl' resource.
  315. */
  316. extern pascal OSErr SDPGetNewPanel(SDPPanelHandle *newPanel, short resourceID, WindowRef window, const PackedRLI *initialRLI, AuthIdentity identity)
  317.  FOURWORDINLINE(0x203C, 0x0009, 0x0065, 0xAA5D);
  318.  
  319. /*
  320. Call this when you're completely done with a panel. It deallocates all of the
  321. associated data structures.
  322. */
  323. extern pascal OSErr SDPDisposePanel(SDPPanelHandle panel)
  324.  FOURWORDINLINE(0x203C, 0x0002, 0x0066, 0xAA5D);
  325.  
  326. /*
  327. If the panel is visible, it makes it invisible by hiding the menu, turning off
  328. drawing of the list, and erasing and  invaling the list's rectangle.
  329. */
  330. extern pascal OSErr SDPHidePanel(SDPPanelHandle panel)
  331.  FOURWORDINLINE(0x203C, 0x0002, 0x0067, 0xAA5D);
  332.  
  333. /* If the panel is invisible, it makes it visible and draws it. */
  334. extern pascal OSErr SDPShowPanel(SDPPanelHandle panel)
  335.  FOURWORDINLINE(0x203C, 0x0002, 0x0068, 0xAA5D);
  336.  
  337. /* Disables the list and menu so that it won't accept any commands. */
  338. extern pascal OSErr SDPEnablePanel(SDPPanelHandle panel, Boolean enable)
  339.  FOURWORDINLINE(0x203C, 0x0003, 0x0069, 0xAA5D);
  340.  
  341. /*
  342. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  343. the panel's window.
  344. */
  345. extern pascal OSErr SDPMovePanel(SDPPanelHandle panel, short h, short v)
  346.  FOURWORDINLINE(0x203C, 0x0004, 0x006B, 0xAA5D);
  347.  
  348. /*
  349. Resizes the panel to have the given width and height (keeping the upper-left-hand
  350. corner in a fixed position).
  351. */
  352. extern pascal OSErr SDPSizePanel(SDPPanelHandle panel, short width, short height)
  353.  FOURWORDINLINE(0x203C, 0x0004, 0x006C, 0xAA5D);
  354.  
  355. /*
  356. This routine simulates a double-click on the selected item (if there is no selected
  357. item, then it does nothing), and it returns the result of that "double-click" via the
  358. whatHappened parameter. If a container is selected, then that container will be
  359. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  360. level in the hierarchy, then kSDPSelectedAnItem is returned.
  361. */
  362. extern pascal OSErr SDPOpenSelectedItem(SDPPanelHandle panel, SDPPanelState *whatHappened)
  363.  FOURWORDINLINE(0x203C, 0x0004, 0x006D, 0xAA5D);
  364.  
  365. /*
  366. Returns whether a record is selected, something else is selected, or nothing is
  367. selected.
  368. */
  369. extern pascal OSErr SDPGetPanelSelectionState(SDPPanelHandle panel, SDPSelectionState *itsState)
  370.  FOURWORDINLINE(0x203C, 0x0004, 0x006E, 0xAA5D);
  371.  
  372. /*
  373. Returns the size of the currently-selected DSSpec, or zero if a record is
  374. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  375. */
  376. extern pascal OSErr SDPGetPanelSelectionSize(SDPPanelHandle panel, unsigned short *dsSpecSize)
  377.  FOURWORDINLINE(0x203C, 0x0004, 0x0072, 0xAA5D);
  378.  
  379. /*
  380. Returns the currently-selected DSSpec, or a zero-lengthed
  381. DSSpec if a record is not selected. It is assumed that the selection
  382. buffer allocated is large enough.
  383. */
  384. extern pascal OSErr SDPGetPanelSelection(SDPPanelHandle panel, PackedDSSpec *selection)
  385.  FOURWORDINLINE(0x203C, 0x0004, 0x006F, 0xAA5D);
  386.  
  387. /*
  388. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  389. nothing.
  390. */
  391. extern pascal OSErr SDPSetPath(SDPPanelHandle panel, const PackedRLI *prli)
  392.  FOURWORDINLINE(0x203C, 0x0004, 0x0070, 0xAA5D);
  393.  
  394. /*
  395. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  396. including NULL events.  If you have more than 1 panel, you will need to
  397. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  398. SDPUpdatePanel as described below.
  399. */
  400. extern pascal OSErr SDPPanelEvent(SDPPanelHandle panel, const EventRecord *theEvent, SDPPanelState *whatHappened)
  401.  FOURWORDINLINE(0x203C, 0x0006, 0x0071, 0xAA5D);
  402.  
  403. /*
  404. SDPUpdatePanel should be called in response to an update event.  Generally you will
  405. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  406. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  407. theRgn, if this is desired, you must first call SetClip.
  408. */
  409. extern pascal OSErr SDPUpdatePanel(SDPPanelHandle panel, RgnHandle theRgn)
  410.  FOURWORDINLINE(0x203C, 0x0004, 0x006A, 0xAA5D);
  411.  
  412. /*
  413. SDPSelectString scrolls and selects the closest matching string at the current
  414. level.  This is the same behavior as if the user typed in the given string.
  415. */
  416. extern pascal OSErr SDPSelectString(SDPPanelHandle panel, const RString *name)
  417.  FOURWORDINLINE(0x203C, 0x0004, 0x0074, 0xAA5D);
  418.  
  419. /*
  420. SDPGetPathLength returns the length in bytes required to hold the current path name
  421. in RLI format.  This corresponds to the path name in the popup menu.
  422. */
  423. extern pascal OSErr SDPGetPathLength(SDPPanelHandle panel, unsigned short *pathNameLength)
  424.  FOURWORDINLINE(0x203C, 0x0004, 0x0075, 0xAA5D);
  425.  
  426. /* SDPGetPath returns the current rli. */
  427. extern pascal OSErr SDPGetPath(SDPPanelHandle panel, PackedRLI *prli, short *dsRefNum)
  428.  FOURWORDINLINE(0x203C, 0x0006, 0x0076, 0xAA5D);
  429.  
  430. /*
  431. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  432. the focus boolean.
  433. */
  434. extern pascal OSErr SDPSetFocus(SDPPanelHandle panel, Boolean focus)
  435.  FOURWORDINLINE(0x203C, 0x0003, 0x0077, 0xAA5D);
  436.  
  437. /*
  438. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  439. balloon help.  Balloon help is unavailable until this call is made.
  440. */
  441. extern pascal OSErr SDPSetPanelBalloonHelp(SDPPanelHandle panel, short balloonHelpID)
  442.  FOURWORDINLINE(0x203C, 0x0003, 0x0078, 0xAA5D);
  443.  
  444. /*
  445. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  446. the panel is aynchronously busy.
  447. */
  448. extern pascal OSErr SDPInstallPanelBusyProc(SDPPanelHandle panel, PanelBusyProc busyProc)
  449.  FOURWORDINLINE(0x203C, 0x0004, 0x0079, 0xAA5D);
  450.  
  451. extern pascal OSErr SDPNewFindPanel(SDPFindPanelHandle *newPanel, WindowRef window, Point upperLeft, short layoutResourceID, Boolean visible, Boolean enabled, const RStringPtr *typesList, long typeCount, DirMatchWith matchTypeHow, AuthIdentity identity, short simultaneousSearchCount, SDPFindPanelFocus initialFocus, long refCon)
  452.  FOURWORDINLINE(0x203C, 0x0014, 0x08FC, 0xAA5D);
  453.  
  454. extern pascal OSErr SDPDisposeFindPanel(SDPFindPanelHandle findPanel)
  455.  FOURWORDINLINE(0x203C, 0x0002, 0x08FD, 0xAA5D);
  456.  
  457. extern pascal OSErr SDPStartFind(SDPFindPanelHandle findPanel)
  458.  FOURWORDINLINE(0x203C, 0x0002, 0x08FE, 0xAA5D);
  459.  
  460. extern pascal OSErr SDPStopFind(SDPFindPanelHandle findPanel)
  461.  FOURWORDINLINE(0x203C, 0x0002, 0x08FF, 0xAA5D);
  462.  
  463. extern pascal OSErr SDPFindPanelEvent(SDPFindPanelHandle findPanel, const EventRecord *event, SDPFindPanelResult *whatHappened)
  464.  FOURWORDINLINE(0x203C, 0x0006, 0x0900, 0xAA5D);
  465.  
  466. extern pascal OSErr SDPUpdateFindPanel(SDPFindPanelHandle findPanel, RgnHandle theRgn)
  467.  FOURWORDINLINE(0x203C, 0x0004, 0x0901, 0xAA5D);
  468.  
  469. extern pascal OSErr SDPShowFindPanel(SDPFindPanelHandle findPanel)
  470.  FOURWORDINLINE(0x203C, 0x0002, 0x0902, 0xAA5D);
  471.  
  472. extern pascal OSErr SDPHideFindPanel(SDPFindPanelHandle findPanel)
  473.  FOURWORDINLINE(0x203C, 0x0002, 0x0903, 0xAA5D);
  474.  
  475. extern pascal OSErr SDPMoveFindPanel(SDPFindPanelHandle findPanel, short h, short v)
  476.  FOURWORDINLINE(0x203C, 0x0004, 0x0904, 0xAA5D);
  477.  
  478. extern pascal OSErr SDPEnableFindPanel(SDPFindPanelHandle findPanel, Boolean enabled)
  479.  FOURWORDINLINE(0x203C, 0x0003, 0x0905, 0xAA5D);
  480.  
  481. extern pascal OSErr SDPSetFindPanelFocus(SDPFindPanelHandle findPanel, SDPFindPanelFocus newFocus)
  482.  FOURWORDINLINE(0x203C, 0x0003, 0x0906, 0xAA5D);
  483.  
  484. extern pascal OSErr SDPGetFindPanelState(SDPFindPanelHandle findPanel, SDPFindPanelState *itsState)
  485.  FOURWORDINLINE(0x203C, 0x0004, 0x0907, 0xAA5D);
  486.  
  487. extern pascal OSErr SDPGetFindPanelSelectionSize(SDPFindPanelHandle findPanel, unsigned short *size)
  488.  FOURWORDINLINE(0x203C, 0x0004, 0x0908, 0xAA5D);
  489.  
  490. extern pascal OSErr SDPGetFindPanelSelection(SDPFindPanelHandle findPanel, PackedDSSpec *selection)
  491.  FOURWORDINLINE(0x203C, 0x0004, 0x0909, 0xAA5D);
  492.  
  493. extern pascal OSErr SDPSetFindPanelBalloonHelp(SDPFindPanelHandle findPanel, short balloonHelpID)
  494.  FOURWORDINLINE(0x203C, 0x0003, 0x090A, 0xAA5D);
  495.  
  496. extern pascal OSErr SDPSetFindIdentity(SDPFindPanelHandle findPanel, AuthIdentity identity)
  497.  FOURWORDINLINE(0x203C, 0x0004, 0x090B, 0xAA5D);
  498.  
  499. extern pascal OSErr SDPInstallFindPanelBusyProc(SDPFindPanelHandle findPanel, FindPanelBusyProc busyProc)
  500.  FOURWORDINLINE(0x203C, 0x0004, 0x090C, 0xAA5D);
  501.  
  502. extern pascal OSErr SDPGetIconByType(const RString *recordType, IconSelectorValue whichIcons, Handle *iconSuite)
  503.  THREEWORDINLINE(0x303C, 0x0400, 0xAA5C);
  504.  
  505. extern pascal OSErr SDPGetDSSpecIcon(const PackedDSSpec *packedDSSpec, IconSelectorValue whichIcons, Handle *iconSuite)
  506.  THREEWORDINLINE(0x303C, 0x0401, 0xAA5C);
  507.  
  508. extern pascal OSErr SDPGetCategories(PackedRStringListHandle *categories, PackedRStringListHandle *displayNames)
  509.  THREEWORDINLINE(0x303C, 0x0402, 0xAA5C);
  510.  
  511. extern pascal OSErr SDPGetCategoryTypes(const RString *category, PackedRStringListHandle *types)
  512.  THREEWORDINLINE(0x303C, 0x0403, 0xAA5C);
  513.  
  514. extern pascal OSErr SDPResolveAliasFile(FSSpecPtr fileSpec, PackedDSSpecHandle resolvedDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  515.  FOURWORDINLINE(0x203C, 0x0007, 0x0E74, 0xAA5D);
  516.  
  517. extern pascal OSErr SDPResolveAliasDSSpec(PackedDSSpecHandle theAliasDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  518.  FOURWORDINLINE(0x203C, 0x0005, 0x0E75, 0xAA5D);
  519.  
  520. extern pascal OSErr SDPRepairPersonalDirectory(FSSpec *pd, Boolean showProgress)
  521.  FOURWORDINLINE(0x203C, 0x0003, 0x1A2C, 0xAA5D);
  522.  
  523. #endif
  524. #endif /* REZ */
  525.  
  526. #if PRAGMA_ALIGN_SUPPORTED
  527. #pragma options align=reset
  528. #endif
  529.  
  530. #if PRAGMA_IMPORT_SUPPORTED
  531. #pragma import off
  532. #endif
  533.  
  534. #ifdef __cplusplus
  535. }
  536. #endif
  537.  
  538. #endif /* __OCESTANDARDDIRECTORY__ */
  539.  
  540.